//
//  LiftIMClient.h
//  AAIM
//
//  Created by awh on 2019/12/4.
//  Copyright © 2019年 AAIM. All rights reserved.
//

#import <Foundation/Foundation.h>
//#import "LiftIMChatManager.h"
typedef NS_ENUM(NSUInteger,SocketIOConnectType){
    SocketIOConnectTypeDefault = 0,   //初始状态,未连接,不需要重新连接
    SocketIOConnectTypeConnect,       //已连接
    SocketIOConnectTypeDisconnect    //连接后断开,需要重新连接
};
@class LiftIMChatManager;
@class LiftIMSystemManger;

NS_ASSUME_NONNULL_BEGIN

@interface LiftIMClient : NSObject
// 是否正在连接
@property(nonatomic, assign, readonly) BOOL isConnected;
// 连接类型
@property(nonatomic, assign, readonly) SocketIOConnectType connectType;
// 聊天管理对象
@property(nonatomic, strong, readonly) LiftIMChatManager *chatManager;
//系统消息
@property(nonatomic, strong, readonly) LiftIMSystemManger *systemManager;

/**
 实例化

 @return <#return value description#>
 */
+ (instancetype)sharedClient;

/**
 连接SocketIO

 @param userid 用户id
 */
- (void)connectWithUserid:(NSInteger)userid;

// 重连
- (void)reconnet;


// 断开连接
- (void)closeConnect;


//- (void)sendMessage:(id)data;

/**
 发送消息带回执
 */

-(void)sendMessage:(id)data messageType:(NSInteger)messageType complete:(void (^)(NSDictionary *, NSError *))complete;

//- (void)sendMessage:(id)data complete:(void (^)(NSDictionary *dict, NSError *error))complete;


@end

NS_ASSUME_NONNULL_END
